iT邦幫忙

2022 iThome 鐵人賽

DAY 29
0

最近購入Oculus 作為研究使用(太無情了@@)。若要與VR虛擬實境中的物件互動,Oculus 會使用到該Controller 進行簡單的操作,所以今天我想要在最後一天分享如何在Unity 中引入Oculus 的控制器並操控環境中的UI元件,接下來我們也會新增一條射線幫助我們知道手中的Controller 指向哪個位置,透過 Oculus 來與Unity 進行互動!就讓我們開始吧! 不會很難~

場景建置

  1. 首先請到 Window > Asset Store 尋找一個叫做 Oculus Integration 的一個Packages,這邊我因為已經有下載所以就會有在我自身的 Package Manager 上面。可以的話就 Import進到我們的環境中。

  2. 新增一個 OVRCameraRig Prefab到我們的環境中。

  3. 搜尋一個叫做 Local Avatar 的Prefab 也拉到我們環境中。

  4. 這時候我們要尋找一個腳本 OVR Physics Raycaster.cs 將其放進到我們 OVRCameraRig 的Component 當中。

  5. 搜尋並接著點選 UI Helper Prefab 拉到我們的環境Scene中。

  6. 我們點開UIHelpers 中的 EventSystem,會看到 EventSystem 裡面會有一個 OVR Input Module 的腳本,裡面包含一個 Ray Transform。

  7. 我們要將 OVRCameraRig 中的 Right RigtHandAnchor 拉進到我們上面所述 Ray Transform的內部。

開始設計UI

  1. 首先我們新增一個 Canvas 並且設計一些 Button 與 Toggle。但首先請記得將該 Canvas 中的 Layer 設定成 Default,並且將該 Render Mode 設定成 World Space!

  2. 點選 World Space 會出現一個警示,這邊要記得將我們的 OVRCameraRig中的 CenterEyeAnchor 拉到我們的Event Camera 中。


  3. 調整一下 Canvas 的位置與 Scale。

  4. 搜尋一個 OVR Raycaster 腳本並且新增在該Canvas 上面。

  5. 現在讓我們新增一些UI物件在環境上。

  6. 最後務必記得要回到 UI Helper 中的 Layer Pointer 去勾選啟用。

調整一下該 LineRenderer 內部的一些顏色。

  1. 最後來看一下成果,執行後我們會看到一條 由 Controller 射出來的 Line。讓我們知道我們目前指向的是甚麼。可以操作看看在 VR 環境中的UI元件! 雖然無法實際 Demo 出來但至少是有感覺當我們指向某一個 Button 的時候會顯示不同顏色。你也可以看到畫面其實會依照 Oculus 的視角移動。最後一張是我 Oculus Right Hand Controller 的位置,Line需要戴上 Oculus 內才看的到。


結論

  1. 今天我們了解到如何自己製作一個 VR 場景並且讓我們可以自由的控制 Controller 點選我想要的元件。
  2. 綜合以上的方法之後我們就可以自行設計想要的問卷樣式來讓 受試者在環境中回答問題。如下:

上一篇
Day28: Use Google Form to connect Unity
下一篇
Day30: 結語
系列文
Unity 基本功能實作與日常紀錄30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言